object Main extends App {
  // 1. 使用println输出（自动换行）
  // 特点：输出内容后自动换行，下次输出从新行开始
  println("=== 使用println输出 ===")
  println("第一行内容")  // 输出后自动换行
  println("第二行内容")  // 这行会显示在新的一行

  // 2. 使用print输出（不自动换行）
  // 特点：输出内容后不会自动换行，需要手动加\n实现换行
  println("\n=== 使用print输出 ===")
  print("这是第一部分内容")  // 不换行
  print("，这是紧跟在后面的第二部分内容\n")  // 添加\n手动换行
  print("这是新的一行内容\n")  // 这行会显示在新的一行

  // 3. 使用printf格式化输出
  // 特点：可以按照指定格式输出，适合需要控制格式的场景
  println("\n=== 使用printf输出 ===")
  val userName = "张三"    // 字符串变量
  val age = 20            // 整数变量
  val height = 175.5      // 浮点数变量

  // 格式化输出：%s代表字符串，%d代表整数，%f代表浮点数
  printf("姓名：%s，年龄：%d岁，身高：%.1f厘米\n", userName, age, height)

  // 演示浮点数保留不同小数位数
  val pi = Math.PI  // 获取圆周率值
  printf("圆周率（保留2位小数）：%.2f\n", pi)  // 保留2位小数
  printf("圆周率（保留6位小数）：%.6f\n", pi)  // 保留6位小数
}
